<?
//общий счетчик
// GET Переменные:
// r - откуда пришли (reffer).
// u - URL посещаемой страницы
// t - смещение временной зоны относительно гринвича
// rn - случайное число
// si - идентификатор сайт
// 
// устанавливает куки:
// csid - counter session id идентификатор, устанавливается при первом посещении страницы
// lv - last visited последнее время захода
// 

function prepare_str($str)
{
	$res = str_replace('\\','',$str);
	$res = str_replace("'",'',$res);
	return $res;
}
include_once('../framework/config.php');
date_default_timezone_set('Europe/Moscow');

$args = explode(';',$_SERVER['QUERY_STRING']); //print_r($_SERVER);
$cnt = count($args);

$log_date = date('Y-m-d H:i:s');
$csid = isset($_COOKIE['siteadmin']) ? 'siteadmin' : isset($_COOKIE['csid']) ? prepare_str($_COOKIE['csid']) : md5(date('Y-m-d H:i:s').$_SERVER["REMOTE_ADDR"].$_SERVER["HTTP_USER_AGENT"]);
$lv = isset($_COOKIE['lv']) ? prepare_str($_COOKIE['lv']) : $log_date;

$query_str1 = array(); $query_str2 = array();
$query_str1[0] = 'date';		$query_str2[0] = "'".$log_date."'";
$query_str1[1] = 'IP';			$query_str2[1] = "'".prepare_str($_SERVER["REMOTE_ADDR"])."'";
$query_str1[2] = 'userAgent';	$query_str2[2] = "'".prepare_str(substr($_SERVER["HTTP_USER_AGENT"],0,255))."'";
$query_str1[3] = 'csid'; 		$query_str2[3] = "'".$csid."'";
$query_str1[4] = 'lastVisited';	$query_str2[4] = "'".$lv."'";

$q=5;

for($i=0;$i<$cnt;$i++)
{
	switch($args[$i]{0})
	{
		case 'i':
			$query_str1[$q] = 'siteID';
			$query_str2[$q] = (int)substr($args[$i],1);
			$q++;
			break;
		case 'r':
			$query_str1[$q] = 'reffer';
			$query_str2[$q] = "'".prepare_str(substr($args[$i],1))."'";
			$q++;
			break;
		case 's':
		{
			$b = explode('*',substr($args[$i],1));
			if (count($b)==3)
			{
				$query_str1[$q] = 'screeen_w';
				$query_str2[$q] = (int)$b[0];
				$q++;
				$query_str1[$q] = 'screeen_h';
				$query_str2[$q] = (int)$b[1];
				$q++;
				$query_str1[$q] = 'color_depth';
				$query_str2[$q] = (int)$b[2];
				$q++;
			}
		}
			break;
		case 'u':
			$query_str1[$q] = 'URL';
			$query_str2[$q] = "'".prepare_str(substr($args[$i],1))."'";
			$q++;
			break;
		case 't':
			$query_str1[$q] = 'timeOffset';
			$query_str2[$q] = "'".prepare_str(substr($args[$i],1))."'";
			break;
	}
}
//print_r($query_str2);
//print_r($query_str1);
$query_str1 = join(',',$query_str1);
$query_str2 = join(',',$query_str2);
$query = "INSERT INTO ".$cfg['db_tbl_prefix']."counter_com(".$query_str1.") VALUES (".$query_str2.")";
$link = @mysql_connect($cfg['db_server'],$cfg['db_user'], $cfg['db_password']);
@mysql_select_db ($cfg['db_name'],$link );
$result = mysql_query ($query);
//echo $query;
mysql_close($link);

header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
@setcookie('csid', $csid, time()+60*60*24*365);
@setcookie('lv', $log_date, time()+60*60*24*365);
//header ("Location: counter.gif");
header("Content-type: image/png");
header('Last-Modified: ' . date("D, d M Y H:i:s T", time()) );
$im = @ImageCreate (3,3) or die ("Cannot Initialize new GD image stream");
$background_color = ImageColorAllocate ($im, 255, 255, 0);
imagepng($im);
imagedestroy($im);
exit;

$log_date = date('Y-m-d H:i:s');	//Дата и время захода
if(!isset($_COOKIE['siteadmin']))
{
	$link = @mysql_connect($cfg['db_server'],$cfg['db_user'], $cfg['db_password']);
	@mysql_select_db ($cfg['db_name'],$link );
	$query_str1[0] = 'date';
	$query_str2[0] = "'".$log_date."'";
	$query_str1[1] = 'IP';
	$query_str2[1] = "'".$_SERVER["REMOTE_ADDR"]."'";
	$query_str1[2] = 'userAgent';
	$query_str2[2] = "'".prepare_str(substr($_SERVER["HTTP_USER_AGENT"],0,255))."'";
	
	if (isset($_COOKIE['csid']))
	{
		$csid = $_COOKIE['csid'];
		$csid = prepare_str($csid);
	}
	else 
		$csid = md5(date('Y-m-d H:i:s').$_SERVER["REMOTE_ADDR"].$_SERVER["HTTP_USER_AGENT"]);
	
	$query_str1[3] = 'csid';
	$query_str2[3] = "'".$csid."'";
	
	if (isset($_COOKIE['lv']))
	{
		$lv = $_COOKIE['lv'];
		$lv = prepare_str($lv);
		$lv = "'".$lv."'";
	}
	else
		$lv =  "'".$log_date."'";
	
	$query_str1[4] = 'lastVisited'; 
	$query_str2[4] = $lv;
	
	$qsn=5;
	if (isset($_GET['r'])) {$query_str1[$qsn] = 'reffer'; $query_str2[$qsn] = "'".prepare_str($_GET['r'])."'"; $qsn++;}
	if (isset($_GET['u'])) {$query_str1[$qsn] = 'URL'; $query_str2[$qsn] = "'".prepare_str($_GET['u'])."'"; $qsn++;}
	if (isset($_GET['t'])) {$query_str1[$qsn] = 'timeOffset'; $query_str2[$qsn] = "'".prepare_str($_GET['t'])."'"; $qsn++;}
	if (isset($_GET['si'])) {$query_str1[$qsn] = 'siteID'; $query_str2[$qsn] = is_int($_GET['s'])? (int)$_GET['s']: 0; $qsn++;}
	
	$query_str1 = join(',',$query_str1);
	$query_str2 = join(',',$query_str2);
	
	$result = mysql_query ("INSERT INTO ".$cfg['db_tbl_prefix']."counter_com(".$query_str1.") VALUES (".$query_str2.")");
	//echo "INSERT INTO fw_counter(".$query_str1.") VALUES (".$query_str2.")";
	mysql_close($link);
	//exit;
}
header($_SERVER['SERVER_PROTOCOL'] . ' 200 OK');
@setcookie('csid', $csid, time()+60*60*24*365);
@setcookie('lv', $log_date, time()+60*60*24*365);
//header ("Location: counter.gif");


//Создаем картинку
//header($HTTP_SERVER_VARS['SERVER_PROTOCOL'] . ' 200 OK');
header ("Content-type: image/png");
header('Last-Modified: ' . date("D, d M Y H:i:s T", time()) );
$im = @ImageCreate (10,10)
    or die ("Cannot Initialize new GD image stream");
$background_color = ImageColorAllocate ($im, 255, 255, 0);
//$text_color = ImageColorAllocate ($im, 233, 14, 91);
//ImageString ($im, 1, 5, 5,  "ARTEM", $text_color);
imagepng($im);
imagedestroy($im);
?>